const path=require('path')
const fileUtils=require('../utils/file_utils')
const WebSocket = require('ws')
// 创建WebSocket服务端的对象, 绑定的端口号是5251
const wss = new WebSocket.Server({
    port: 5251
})

//对客户端事件进行监听
module.exports.listen=()=>{
    //client:代表客户端连接socket对象
    wss.on('connection',client=>{
        console.log('有客户端连接成功了。。。')
        //对客户端的连接对象进行message事件的监听
        //msg：由客户端发给服务端的数据
        client.on('message',async msg=>{
            console.log('客户端发送数据给服务端了：'+msg)
            let payload=JSON.parse(msg)
            const action=payload.action
            if (action==='getData'){
                let filePath='../data/'+payload.chartName+'.json'
              //  payload.chartName//trend seller map rank hot stock
               filePath= path.join(__dirname,filePath)
                const ret = await fileUtils.getFileJsonData(filePath)
            //    data所对应的值是json文件的内容
                payload.data=ret
                client.send(JSON.stringify(payload))
            }else{
            //原封不动的将所接收到的数据转发给每一个处于连接状态的客户端
                wss.clients.forEach(client=>{
                    client.send(msg)
                })//所有客户端的链接
            }

            //client.send('hello')
        })
    })
}
